/**
 * @param {number[][]} classes
 * @param {number} extraStudents
 * @return {number}
 */
var maxAverageRatio = function (classes, extraStudents) {
  // 方法一 ： 栈溢出
  //   if (extraStudents) {
  //     let nums = [];
  //     classes.forEach((e) => {
  //       if (e[0] !== e[1]) {
  //         nums.push((e[0] + 1) / (e[1] + 1) - e[0] / e[1]);
  //       } else {
  //         nums.push(0);
  //       }
  //     });
  //     let result = nums.reduce((a, b) => (a > b ? a : b));
  //     let index = nums.findIndex((e) => e == result);
  //     extraStudents = extraStudents - 1;
  //     classes[index][0] = classes[index][0] + 1;
  //     classes[index][1] = classes[index][1] + 1;
  //     return maxAverageRatio(classes, extraStudents);
  //   }

  // 方法二 ： 超时
  // let nums = [];
  // let result = 0;
  // let index = 0;

  // for (let i = extraStudents; i > 0; i--) {
  //   classes.forEach((e) => {
  //     if (e[0] !== e[1]) {
  //       nums.push((e[0] + 1) / (e[1] + 1) - e[0] / e[1]);
  //     } else {
  //       nums.push(0);
  //     }
  //   });
  //   result = nums.reduce((a, b) => (a > b ? a : b));
  //   index = nums.findIndex((e) => e == result);
  //   classes[index][0] = classes[index][0] + 1;
  //   classes[index][1] = classes[index][1] + 1;
  //   nums.length = 0;
  // }

  for (let i = extraStudents; i > 0; i--) {

    

  }

  return (
    classes.reduce((prev, curr) => prev + curr[0] / curr[1], 0) / classes.length
  );
};

console.log(
  maxAverageRatio(
    [
      [2, 4],
      [3, 9],
      [4, 5],
      [2, 10],
    ],
    4
  )
);
